using System;
using System.Runtime.InteropServices;
namespace BMC.ARSystem
{
	[Guid("d6cdfb24-cf2a-4458-a040-85b28146b23b")]
	public class AuditInfo
	{
		[ARStructMemTypeInfo(Name = "enable", Offset = 0u)]
		private bool _enable;
		[ARStructMemTypeInfo(Name = "style", Offset = 1u)]
		private uint _style;
		[ARStructMemTypeInfo(Name = "formName", Offset = 2u)]
		private string _formName;
		[ARStructMemTypeInfo(Name = "query", Offset = 3u)]
		private string _query;
		public bool Enable
		{
			get
			{
				return this._enable;
			}
			set
			{
				this._enable = value;
			}
		}
		public uint Style
		{
			get
			{
				return this._style;
			}
			set
			{
				this._style = value;
			}
		}
		public string FormName
		{
			get
			{
				return this._formName;
			}
			set
			{
				this._formName = value;
			}
		}
		public string Query
		{
			get
			{
				return this._query;
			}
			set
			{
				this._query = value;
			}
		}
		public AuditInfo()
		{
		}
		internal AuditInfo(object[] rawData, Server server)
		{
			int[] indexSpec = new int[1];
			this.Enable = (Convert.ToInt32(Util.GetAt(rawData, indexSpec)) != 0);
			this.Style = Convert.ToUInt32(Util.GetAt(rawData, new int[]
			{
				1
			}));
			this.FormName = (string)Util.GetAt(rawData, new int[]
			{
				2
			});
			this.Query = server.FormatQualification(server.Session.CurrentLocalForm, Util.GetAt(rawData, new int[]
			{
				3
			}));
		}
		internal static AuditInfo createInstance(object[] rawData, Server server)
		{
			return new AuditInfo(rawData, server);
		}
		internal static object ToVariant(object given, Server server)
		{
			AuditInfo auditInfo = given as AuditInfo;
			if (auditInfo == null)
			{
				return given;
			}
			return new object[]
			{
				auditInfo.Enable ? 1 : 0,
				ARTypeMgr.Instance.toVariant(auditInfo.Style),
				ARTypeMgr.Instance.toVariant(auditInfo.FormName),
				server.ParseQualification(server.Session.CurrentLocalForm, auditInfo.Query)
			};
		}
	}
}
